Žemo lygio programavimo kalba, kurios konstrukcijos atspindi kompiuterio architektūrą. Jos komandos atitinka vidines kompiuterio komandas, tačiau vietoj kompiuterio operacijų kodų rašomi mnemoniniai jų žymenys, vietoj šešioliktainių adresų tuos adresus turinčių objektų (kintamųjų, konstantų, funkcijų) vardai.
Gali turėti ir galingesnių priemonių: integruotų arba programuotojo aprašomų makrokomandų, atitinkančių kelias kompiuterio komandas.
Programuojant asemblerio kalba reikia daugiau pastangų ir laiko, negu programuojant aukšto lygio kalba (pvz., java, paskaliu), nes reikia visus veiksmus aprašyti kur kas išsamiau. Tačiau programas asembleriu galima parašyti ekonomiškesnes, kurioms reikia mažiau atminties ir kurios sparčiau veikia. Taip pat galima racionaliau naudoti išorinius įtaisus, nes asembleris turi tiesiogiai su jais susijusias komandas.